package org.example.leetCode;

/**
 * 66. 加一
 * 给定一个表示 大整数 的整数数组 digits，其中 digits[i] 是整数的第 i 位数字。
 * 这些数字按从左到右，从最高位到最低位排列。这个大整数不包含任何前导 0。
 * 将大整数加 1，并返回结果的数字数组。
 */
public class Code66 {

    public static int[] plusOne(int[] digits) {
        if (digits == null || digits.length == 0) {
            return digits;
        }
        int length = digits.length-1;
        //标记前一位是否进1
        while (length>=0){
            if(digits[length]==9){
                digits[length]=0;
            }else{
                digits[length]++;
                return digits;
            }
            if(length==0){
                break;
            }
            length--;
        }
        int[] result=new int[digits.length+1];
        result[0]=1;
        return result;
    }
    public static void main(String[] args) {
        plusOne(new int[]{9,9});
    }
}
